﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using XMLGener.Data;

namespace XMLGener.Interfaces
{
    /// <summary>
    /// This interface is used for modules, which generates
    /// data for xml generator.
    /// </summary>
    public interface XMLGenerModuleInterface
    {
        /// <summary>
        /// Set attributes to module
        /// </summary>
        /// <param name="xmlParams">settings in xml format</param>
        /// <param name="parentDocument">Parent document</param>
        void setParameters(string xmlParams,XMLGenerDocument parentDocument);
        
        /// <summary>
        /// Return generated string
        /// </summary>
        /// <returns></returns>
        string generate();
        
        /// <summary>
        /// Return current module definition
        /// </summary>
        /// <returns>definition in xml format</returns>
        string getDefinition();

    }
}
